System and method for managing calls

ABSTRACT

A computer-implemented method for managing calls in a collaboration environment is provided. The method includes receiving, by a processor, a call into a collaboration session of the collaboration environment. The method also includes identifying, by the processor, a user from a plurality of users associated with the collaboration session, based on at least one of contextual information regarding the call and information regarding the plurality of users. The method further includes providing, by the processor, an interface on a device associated with the identified user, wherein the interface enables the identified user to instruct the device to handle the call within the collaboration session.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of, and claims thebenefit of priority to U.S. patent application Ser. No. 16/223,337,filed on Dec. 18, 2018, which is a continuation of and claims thebenefit of priority to U.S. patent application Ser. No. 16/037,177,filed on Jul. 17, 2018, now U.S. Pat. No. 10,225,393, issued Mar. 5,2019, which is a continuation of, and claims the benefit of priority toU.S. patent application Ser. No. 15/689,249, filed on Aug. 29, 2017, nowU.S. Pat. No. 10,051,106, issued Aug. 14, 2018, which is a continuationof, and claims the benefit of priority to U.S. patent application Ser.No. 15/346,957, filed on Nov. 9, 2016, now U.S. Pat. No. 9,774,722,issued Sep. 26, 2017, which is a continuation of, and claims the benefitof priority to U.S. patent application Ser. No. 14/869,180, filed onSep. 29, 2015, now U.S. Pat. No. 9,521,173, issued Dec. 13, 2016, thecontents of all of which are hereby incorporated by reference in theirentirety.

TECHNICAL FIELD

The present disclosure relates to the field of communication systemsand, more particularly, to systems and methods for managing calls.

BACKGROUND

In some group electronic communication environments, such as acollaboration environment, group members, users, or participants engagein online and/or offline communications to exchange ideas andinformation, discuss work related issues, share documents and files,etc. A collaboration environment refers to a virtual (e.g.,computerized) and/or physical environment in which users (also referredto as participants) collaborate with each other by exchanginginformation and data. For example, in a collaboration environment,participants communicate with each other via emails, text messages,chats, audio messages, video messages, etc. Participants can alsoexchange files and documents and review saved or archived communicationrecords such as electronic messages (e.g., emails and text messages) andshared documents and/or files. A collaboration environment isimplemented as a system that includes both software (e.g., softwareapplications) and hardware components (e.g., computing devices,circuits, etc.). A collaboration environment includes one or a pluralityof collaboration sessions.

A collaboration session in a collaboration environment can beimplemented in a desktop environment as, e.g., a standalone desktopclient application or a web-based application integrated within a webbrowser, such as Firefox, Internet Explorer, Safari, etc. Thecollaboration session in a desktop environment can be implemented on adesktop computer, a laptop, etc. A collaboration session can also beimplemented in a mobile environment as a standalone mobile clientapplication (or app) or as a web-based application integrated within amobile web browser provided in a mobile environment, such as mobileversions of Firefox, Internet Explorer, Safari, etc. In both the desktopenvironment and the mobile environment, a collaboration session includesa user interface, such as a graphical user interface (GUI) that is astandalone software interface or integrated within a web browser. Acollaboration session refers to an ongoing collaboration session or acollaboration session occurred in the past.

In a collaboration session (e.g., a chat session, a group meeting orconference session), members or participants of the collaborationsession may receive a call, which may be a telephone call (including avoice message) that uses landline phone services, cellular wirelessphone services, voice over IP (VoIP) phone services. The call may alsoinclude an audio call and/or a video call that uses technologies otherthan traditional phone services, such as desktop and/or mobileapplications that enable audio and/or video communication. For example,while a collaboration session is underway, a participant or thecollaboration session may receive a call from a caller who is not aparticipant of the collaboration session. As another example, while aparticipant is reviewing archived communication content of acollaboration session that is not currently underway (e.g., a pastcollaboration session), the participant may receive a call. The callinto the collaboration session may be initiated from outside of thecollaboration session. The term “outside” means the call is initiated bya caller using a device not included in devices and systems associatedwith the collaboration session. For example, the caller can be a personor a machine (e.g., a computer), which does not currently participate inthe ongoing collaboration session or did not participate in the pastcollaboration session. The person or machine calls a collaborationsession or a participant of the collaboration session using a device,such as telephone that is not a device associated with the collaborationsession (hence the call is initiated from outside of the collaborationsession). In some embodiments, the caller may be a participant of thecollaboration environment, such as a participant of anothercollaboration session. For example, a first participant of a firstcollaboration session may call a second collaboration session or asecond participant of a second collaboration session using a user deviceassociated with the first collaboration session or using a telephone,which are not devices associated with the second collaboration session(hence the call to the second collaboration session is initiated fromoutside of the second collaboration session). In some embodiments, thecaller is not a participant of the collaboration environment. Forexample, the caller is a user of a telephone system that is separatedfrom the collaboration system. The caller initiates a call to acollaboration session using a telephone device included in the telephonesystem (hence the call is initiated from outside of the collaborationsession).

When the collaboration session receives a call initiated from outside ofthe collaboration session, the existing collaboration systems do notenable users to manage the call in a convenient way. In some systems,the users have to leave the collaboration systems to answer the call.

SUMMARY

In one disclosed embodiment, a computer-implemented method for managingcalls in a collaboration environment is disclosed. The method includesreceiving, by a processor, a call into a collaboration session of thecollaboration environment. The method also includes identifying, by theprocessor, a user from a plurality of users associated with thecollaboration session, based on at least one of contextual informationregarding the call and information regarding the plurality of users. Themethod further includes providing, by the processor, an interface on adevice associated with the identified user, wherein the interfaceenables the identified user to instruct the device to handle the callwithin the collaboration session.

In another disclosed embodiment, a communication server for managingcalls in a collaboration environment is disclosed. The communicationserver includes at least one memory configured for storing instructions.The communication server also includes at least one processor incommunication with the at least one memory and configured to execute theinstructions to receive a call into a collaboration session of thecollaboration environment. The at least one processor is also configuredto execute the instructions to identify a user from a plurality of usersassociated with the collaboration session, based on at least one ofcontextual information regarding the call and information regarding theplurality of users. The at least one processor is further configured toprovide an interface on a device associated with the identified user,wherein the interface enables the identified user to instruct the deviceto handle the call within the collaboration session.

In yet another disclosed embodiment, an electronic device is disclosed.The electronic device includes a display configured to display acollaboration interface for a collaboration session. The electronicdevice also includes at least one processor configured to receive a callinto the collaboration session. The at least one processor is alsoconfigured to provide an interface within the collaboration interface ofthe collaboration session on the display, the interface including one ormore selectable elements for the user to handle the call within thecollaboration session.

In yet another disclosed embodiment, a non-transitory computer-readablemedium is provided. The computer-readable medium is encoded withinstructions, which when executed by a processor, cause the processor toperform a method for managing calls in a collaboration environment. Themethod includes receiving a call into a collaboration session of thecollaboration environment. The method also includes identifying a userfrom a plurality of users associated with the collaboration session,based on at least one of contextual information regarding the call andinformation regarding the plurality of users. The method furtherincludes providing an interface on a device associated with theidentified user, wherein the interface enables the identified user toinstruct the device to handle the call within the collaboration session.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute partof this disclosure, together with the description, illustrate and serveto explain the principles of various example embodiments.

FIG. 1 is a diagram of an example of a communication system in whichvarious implementations described herein may be practiced.

FIG. 2 illustrates example components of a user device for implementingembodiments consistent with the present disclosure.

FIG. 3 is a diagram of an example communication server, in accordancewith the disclosed embodiments.

FIG. 4 illustrates an example collaboration interface associated with acollaboration session, in accordance with the disclosed embodiments.

FIG. 5 illustrates another example collaboration interface associatedwith a collaboration session in accordance with the disclosedembodiments.

FIG. 6 illustrates another example collaboration interface associatedwith a collaboration session, in accordance with the disclosedembodiments.

FIG. 7 is a flowchart of an example process for managing calls in acollaboration session, in accordance with embodiments of the presentdisclosure.

DETAILED DESCRIPTION

Reference will now be made in detail to the example embodimentsimplemented according to the present disclosure, the examples of whichare illustrated in the accompanying drawings. Wherever possible, thesame reference numbers will be used throughout the drawings to refer tothe same or like parts.

In an online or offline collaboration session (e.g., a chat session),participants perform various activities, such as communicating with eachother to exchange information and/or documents, reviewing communicationrecords, retrieving a shared document, etc. When the collaborationsession or a participant of the collaboration session receives a call,such as a telephone call, an audio and/or video call, initiated fromoutside of the collaboration session, one or more of the participants ofconventional collaboration systems have to leave the collaborationsession and use a separate client or application having a separate userinterface for answering the call. In some instances, the separate clientor application can be running on a device that is different from thedevice(s) being used by the participant(s) of the collaboration sessionwhen participating in the collaboration session. Thus, it is desirableto provide systems and methods that enable a participant of thecollaboration session to manage calls within the collaboration session.

Embodiments of the present disclosure provide methods, devices, andsystems for managing calls, such as telephone calls, within acollaboration session. Telephone calls include landline calls, cellularwireless calls, VoIP calls, etc. Below, for convenience, telephone callsare used as example calls, although the same or similar disclosure mayalso be applied to other types of calls, such as video and/or audiocalls performed using a collaboration interface or other audio/videoapplications between different collaboration sessions. Consistent withdisclosed embodiments, a computer-implemented method for managing a callin a collaboration environment is disclosed. The method includesreceiving, by a processor, the call from outside of a collaborationsession of the collaboration environment. The method also includesidentifying, by the processor, a user from a plurality of users of thecollaboration session, based on at least one of contextual informationregarding the call and information regarding the plurality of users. Themethod further includes providing, by the processor, an interface on adevice associated with the identified user, wherein the interfaceenables the identified user to instruct the device to handle the callwithin the collaboration session.

The disclosed embodiments also include a communication server formanaging a call in a collaboration environment. The communication serverincludes at least one memory configured for storing instructions. Thecommunication server also includes at least one processor incommunication with the at least one memory and configured to execute theinstructions to receive the call from outside of a collaboration sessionof the collaboration environment. The at least one processor is alsoconfigured to execute the instructions to identify a participant or userfrom a plurality of participants or users of the collaboration session,based on at least one of contextual information regarding the call andinformation regarding the plurality of participants or users. The atleast one processor is further configured to provide an interface on adevice associated with the identified user, wherein the interfaceenables the identified user to instruct the device to handle the callwithin the collaboration session.

The disclosed embodiments further include an electronic device. Theelectronic device includes a display configured to display acollaboration interface for a collaboration session. The electronicdevice also includes at least one processor configured to receive a callfrom outside of the collaboration session. The at least one processor isalso configured to provide an interface within the collaborationinterface of the collaboration session on the display, the interfaceincluding one or more selectable elements for the user to handle thecall within the collaboration session.

The embodiments herein include computer-implemented methods, tangiblenon-transitory computer-readable mediums, and systems. Thecomputer-implemented methods can be executed, for example, by at leastone processor that receives instructions from a non-transitorycomputer-readable storage medium. Similarly, systems and devicesconsistent with the present disclosure can include at least oneprocessor and memory, and the memory can be a non-transitorycomputer-readable storage medium. As used herein, a non-transitorycomputer-readable storage medium refers to any type of physical memoryon which information or data readable by at least one processor can bestored. Examples include random access memory (RAM), read-only memory(ROM), volatile memory, nonvolatile memory, hard drives, CD ROMs, DVDs,flash drives, disks, and any other known physical storage medium.Singular terms, such as “memory” and “computer-readable storage medium,”can additionally refer to multiple structures, such a plurality ofmemories or computer-readable storage mediums. As referred to herein, a“memory” can comprise any type of computer-readable storage mediumunless otherwise specified. A computer-readable storage medium can storeinstructions for execution by at least one processor, includinginstructions for causing the processor to perform steps or stagesconsistent with an embodiment herein. Additionally, one or morecomputer-readable storage mediums can be utilized in implementing acomputer-implemented method. The term “computer-readable storage medium”should be understood to include tangible items and exclude carrier wavesand transient signals.

The disclosed methods and systems are implemented in the desktop and/ormobile environments. In the desktop and/or mobile environments, thedisclosed collaboration methods and systems are implemented as astand-alone application or software, or are implemented within a webbrowser, such as a WebRTC-based environment. The present disclosurearises out of the realization that conventional collaboration systems donot enable a user to manage a call (e.g., a telephone call) within acollaboration session, and often require the user to use a separatedevice or application to manage the call. Requiring the user to use aseparate device or application separate from the collaboration sessionis cumbersome, and reduces collaboration productivity. Moreover,requiring the user to have separate devices or applications increasesthe operation costs. The disclosed methods and systems enable a user ofa collaboration session to manage a call within the collaborationsession, without having to resort to a separate device or softwareapplication. Productivity is thus improved and operation costs arereduced.

FIG. 1 shows an example of a communication system 100 in which variousimplementations as described herein may be practiced. Communicationsystem 100 represents, for example, a collaborative environment thatallows a group of participants (e.g., 130A-130D) using associated userdevices (e.g., 120A-120D) (collectively user devices 120) to engage ingroup communication, such as instant messaging (IM), email, voice overIP (VoIP) phone call, land-line telephone call, wireless cellular phonecall, online audio/video conferencing, etc., as well as sharing contentassociated with the collaboration such as documents, audio/videocontent, links to Internet or web based content, etc. Communicationsystem 100 reflects a communication platform that allows a group ofparticipants (e.g., 130A-130D) to exchange messages, documents, videos,gaming, and otherwise interact and/or exchange information with oneanother in real-time using associated user devices (e.g., 120A-120D).For example, participants 130A-130D may belong to a same community orworkspace, or share a common interest or goal, and a communication groupmay be set up to enhance the efficiency and productivity of informationexchange among the participants. In the present disclosure, informationexchanged among a group of participants may include texts, messages,emails, shared documents, shared data files, audio/video recordings,images, or any other types of information exchanged between two or moreindividuals.

As shown in FIG. 1, communication system 100 includes a collaborationsystem 101. Collaboration system 101 includes one or more user devices120A-120D, a network 115, a communication server 105, and a database110. Collaboration system 101 also includes a storage device 125, suchas a hard disk, a memory, etc., configured to store data. The componentsand arrangements shown in FIG. 1 are not intended to limit the disclosedembodiments, as the system components used to implement the disclosedprocesses and features may vary. For example, communication system 100may include multiple communication servers 105, and each communicationserver 105 may host a certain type of communication service, e.g., IM,VoIP, video conferencing, such that various types of multimedia servicesmay be provided to user devices 120.

Communication server 105 is also referred to as a collaboration server105 hereinafter. Collaboration server 105 is configured to providecommunication services, such as, text-based, audio-based, and/orvideo-based communications, etc., to user devices 120A-120D.Collaboration server 105 includes both hardware and software components,such as a memory, a processor, computer instructions or code.

Communication system 100 includes a telephone server 140 and anelectronic message server 148, which includes an email server 145 and atext message server 150. In some embodiments, electronic message server148 is provided with an email function and a text messaging function,and separate email server 145 and text message server 150 are notprovided. Similarly, the electronic message server 148 is configured tosend and receive faxes in some embodiments. The term “electronicmessage” includes text messages, emails, faxes, audio and/or videomessages, short message service (SMS) messages, multimedia messagingservice (MMS) messages, faxes, and the like. At least one of telephoneserver 140 and electronic message server 148 is separate fromcollaboration system 101 and connected with collaboration server 105 viathe Internet or other networks, such as telephone lines, wirelesscellular networks, local area networks (LAN), etc. Each of telephoneserver 140 and electronic message server 148 includes both hardware andsoftware components, such as a memory, a processor, computerinstructions or code. In some embodiments, one or both of telephoneserver 140 and electronic message server 148 are included withincollaboration system 101. For example, in some embodiments, electronicmessage server 148 is included in collaboration system 101, andtelephone server 140 is included in a telephone system, such as alandline telephone system, a wireless cellular telephone system, or aVoIP telephone system, which is separate from and outside ofcollaboration system 101.

Telephone server 140 is connected to a telephone 135 through thetelephone system (not shown). A plurality of telephones 135 may beincluded in the telephone system and connected to telephone server 140.Telephone server 140 is also connected with one or more user devices120A-120D through the telephone system. When a user of telephone 135 ora user device (e.g., one of user devices 120) initiates a telephone callto collaboration system 101, the telephone call is processed by thetelephone system, e.g., by telephone server 140. Telephone server 140directs or routes the telephone call to collaboration system 101.Telephone server 140 includes various hardware and software componentsknown in the art to direct or route the call.

The disclosed collaboration methods and systems can be implemented in adesktop environment and/or a mobile environment. In each environment,the disclosed collaboration methods and systems can be implemented as astandalone application or software (e.g., a desktop client applicationor a mobile app). Alternatively, the collaboration application thatimplements the disclosed methods and systems can be integrated within aweb browser (a desktop web browser or a mobile web browser). In thedesktop environment, the standalone desktop collaboration application orthe desktop web browser that integrates the collaboration application isprovided with call handling functions. A call can be directed or routed,by telephone server 140, to the standalone desktop collaborationapplication or software, or to the desktop web browser. The standalonedesktop collaboration application or software or the desktop web browserreceives the call and handles the call in accordance with the disclosedembodiments.

In the mobile environment, the mobile collaboration app or mobile webbrowser that integrates the collaboration app is provided with callhandling functions. A call can be directed or routed, by telephoneserver 140, to the mobile collaboration app or the mobile web browser.The mobile collaboration app or mobile web browser receives the call andhandles the call in accordance with the disclosed embodiments.

Alternatively and additionally, in some mobile environments, when userdevices 120A-120D are smart phones and other mobile devices, thedisclosed methods and systems can use a native dialer (e.g., a telephonyservice circuit and/or software application) provided with the smartphone or other mobile device to receive and handle calls. A call routedto the smart phone or other mobile device can be received and handled bythe native dialer. The native dialer can be a typical dialer that isprovided within smart phone or other mobile device for making orreceiving phone calls. Alternatively, the native dialer can be anindependent, dedicated native dialer specifically designed andprogrammed for handling calls received by collaboration systems 101. Ineither case, the native dialer receives calls and cooperates with themobile collaboration app or the mobile web browser that integrates thecollaboration app. Similarly, in some example embodiments, the nativedialer can communicate with the collaboration system 101 through atelephony application programming interface (API). For example, when thenative dialer receives the call, the native dialer forwards the call tothe mobile collaboration app or the mobile web browser that integratesthe collaboration app. In the mobile environment, when a native dialeris used, the collaboration server 105 can be eliminated in someembodiments. In such embodiments, a call is directly routed to thenative dialer, instead of being routed to the collaboration server 105before being routed to the native dialer. For example, in acollaboration session including one or more participants, a calldirected to the collaboration session can cause the native dialersprovided in all or some of the smart phones or other mobile devicesassociated with the one or more participants to ring. As anotherexample, a caller dials a telephone number associated with the smartphone or other mobile device associated with a particular participant,and the native dialer provided with the smart phone or other mobiledevice receives and handles the call, thereby bypassing collaborationserver 105. Accordingly, in some embodiments, collaboration server 105is not included. In some embodiments, when native dialers are used toreceive and handle calls, collaboration server 105 can co-exist.Collaboration server 105 may be configured to handle other processes orfunctions associated with collaboration system 101.

In some embodiments, a smart phone or other mobile device uses both thenative dialer and the mobile application or web browser that is providedwith call handling functions. When the smart phone or mobile devicereceives a call, at least one of the native dialer, the mobileapplication, and the mobile web browser rings to alert the user of theincoming call. The user handles the call using at least one of thenative dialer, the mobile application, or the mobile web browser. Insome embodiments, the native dialer handles the call. In someembodiments, the native dialer re-routes the call to the mobileapplication or mobile web browser, which is provided with call handlingfunctions. The mobile application or web browser handles the callre-routed from the native dialer. In some embodiments, the native dialerrings when receiving the call, and the mobile application or web browsertakes over control of the native dialer and handles the call using thenative dialer or the call handling functions provided with the mobileapplication or web browser.

Collaboration system 101 includes one or a plurality of online and/oroffline collaboration sessions. Each collaboration session includes oneor a plurality of participants. A participant of a collaboration sessionmay be a participant of an ongoing, current collaboration session, or aparticipant of a past collaboration session. In some embodiments, eachcollaboration session is associated with a telephone number. A user oftelephone 135 (hereinafter “caller”) can call the telephone numberassociated with the collaboration session to reach participants of thecollaboration session.

In some embodiments, collaboration sessions are not associated withtelephone numbers. A caller can call a telephone number associated withcollaboration system 101, and collaboration server 105 identifies atarget or destination collaboration session, from the plurality ofcollaboration sessions, as the recipient of the telephone call based on,e.g., contextual information associated with the call or caller, and/orinformation (e.g., characteristics) regarding the collaborationsessions. Collaboration server 105 directs the telephone call to theidentified target collaboration session.

In some embodiments, each user device 120 associated with eachparticipant of a collaboration session is associated with a telephonenumber, and a caller dials the telephone number to reach the particularparticipant associated with the user device 120. In some embodiments,when a participant receives a call, the participant determines, based oncontextual information associated with the call or the caller, which hasbeen received by the participant either before receiving the call or atsubstantially the same time as the call, that the call should bedirected to a collaboration session or another participant. Theparticipant who receives the call then forwards the call to thecollaboration session or another participant. The contextual informationassociated with the call or the caller is identified by collaborationserver 105 from various sources, such as electronic messages receivedfrom electronic message server 148.

In some embodiments, after directing the telephone call to theidentified target collaboration session, collaboration server 105further identifies a user (or participant) from a plurality of users (orparticipants) of the collaboration session, based on at least one ofcontextual information regarding the call and/or the caller, andinformation regarding the plurality of users (or participants) of thecollaboration session. After identifying the participant to receive thecall, collaboration server 105 directs the telephone call to theidentified participant. In some embodiments, collaboration server 105causes an interface to be displayed on a user device (e.g., one of userdevices 120A-120D) associated with the identified participant. Theinterface may be displayed on the user device, for example, within acollaboration interface associated with the collaboration session. Thecollaboration interface is provided with user devices as a standaloneapplication or software, or may be integrated within a web browserprovided with the user devices.

The collaboration server 105 causes an interface to be displayed withinthe collaboration session on a user device (e.g., one of user devices120A-120D). The interface enables a user to instruct an associated userdevice to handle calls within the collaboration session. In some exampleembodiments, the interface provides selectable or operable userinterface elements (e.g., selectable, clickable, and/or touchablebuttons) configured to receive a user input from the user. The userinput instructs the user device to handle the call (e.g., to answer,forward, or reject the call, or to divert the call to voicemail, toplace the call on hold, to park the call, etc.). In some embodiments,the user input includes instructions to the native dialer included inthe user device that the telephone call will be handled by thestandalone desktop or mobile collaboration application or the desktop ormobile web browser that integrates the collaboration application. Insome embodiments, the selectable elements receive a drag and drop inputfrom the user, which causes the selectable elements to be dragged anddropped onto an icon representing a specific user or participant,causing the user device to direct the telephone call to that specificuser or participant. In some embodiments, the selectable elements aredragged and dropped onto an icon representing another collaborationsession, causing the user device to direct the telephone call to thatother collaboration session.

In some embodiments, communication system 100 includes more than onecollaboration system 101, more than one telephone server 140, more thanone electronic message server 148 (e.g., more than one email server 145,and/or more than one text message server 150). In some embodiments, auser device included in a first collaboration system 101 initiates,through the telephone system including telephone server 140, a call to asecond collaboration system 101. The call to the second collaborationsystem is initiated from outside of second collaboration system 101, andhence outside of a collaboration session included in secondcollaboration system 101.

In some embodiments, the same collaboration system 101 includes aplurality of collaboration sessions, some of which may be ongoingcollaboration sessions, and some of which may be deleted (e.g.temporarily deleted or masked) or archived collaboration sessions. Aparticipant in a first collaboration session initiates a call, throughthe telephone system including telephone server 140, to a secondcollaboration session within the same collaboration system 101. Thetelephone call to the second collaboration session is initiated throughtelephone server 140. The call to the second collaboration session isinitiated from outside of the second collaboration session.

Network 115 facilitates communications and sharing of content betweenuser devices 120 and at least one of collaboration server 105, telephoneserver 140, and electronic message server 148. Network 115 is any typeof network that provides communications, exchanges information, and/orfacilitates the exchange of information between collaboration server105, telephone server 140, electronic message server 148, and userdevices 120. For example, network 115 can be the Internet, a Local AreaNetwork, a cellular network, a public switched telephone network(“PSTN”), or other suitable connection(s) that enables communicationsystem 100 to send and receive information between the components ofcommunication system 100. Network 115 supports a variety of messagingformats, and a variety of services and applications for user devices120. A network similar to network 115 may connect collaboration server105, and telephone server 140, and electronic message server 148.

Collaboration server 105 is typically configured to providecollaboration services to user devices 120. The collaboration servicesuse text based, audio based, and/or video based communicationtechnologies. Collaboration server 105 includes a computer-based systemincluding computer system components, desktop computers, workstations,tablets, hand held computing devices, memory devices, and/or internalnetwork(s) connecting the components. Collaboration server 105 isconfigured to receive information from user devices 120 over network115, process the information, store the information, and/or transmitinformation to user devices 120 over network 115.

In some embodiments, collaboration server 105 is configured to establisha collaboration session among a group of participants 130A-130D(collectively, participants 130) through associated user devices120A-120D, manage the collaboration session for information exchangeamong participants 130, and control sharing of content amongparticipants 130. In some embodiments, collaboration server 105maintains and manages a plurality of group collaboration sessionssimultaneously. In some embodiments, collaboration server 105 isconfigured to maintain a list of participants for each collaborationsession, along with the role of each of the participants and theiraccess control settings (e.g., a moderator who is the host of thecollaboration session), a creator who created the collaboration session,a user who can post messages and participate in audio and/or videoconferences and text-based communication among the group participants,etc. In some implementations, the functionality of collaboration server105 described in the present disclosure is distributed among userdevices 120A-120D. In some embodiments, a part or all of thecommunication content is stored in one or more of user devices 120, andone or more of user devices 120 perform the function of managing thecollaboration session.

In some embodiments, collaboration system 101 includes at least one of adatabase 110 and a storage device 125. Database 110 and/or storagedevice 125 includes one or more physical or virtual storages incommunication with collaboration server 105, directly or through network115. For example, database 110 and/or storage device 125 include harddisks, flash drives, memory, magnetic tape, optical discs, etc., forstoring data. Database 110 and/or storage device 125 store, for example,communication content (such as messages exchanged between participants,documents and/or files shared by various participants, communicationhistory, etc.) of an ongoing collaboration session, and/or anypreviously completed collaboration session. Database 110 and/or storagedevice 125 also store text, video, and/or audio messages, documents,files, images, or shared content among communication participants 130.For example, storage device 125 and/or database 110 store electronicmessages, such as, text messages received from text message server 150and/or emails received from email server 145. The electronic messagesare transmitted to collaboration server 105 and stored in storage device125 and/or database 110 before, after, or at the time of a call to acollaboration session is initiated through telephone 135 and telephoneserver 140. Database 110 and/or storage device 125 also storecommunication history relating to a caller who makes a call to acollaboration session. The communication history includes priorcommunication content, such as electronic messages (e.g., emails and/ortext messages), and phone calls involving the caller. The stored data,messages, documents, files, or other content provide contextualinformation about the call and/or the caller who initiated the call.Storage device 125 and/or database 110 store profile informationregarding the users or participants of the collaboration sessions, suchas, for example, a function within an organization, a job title,position in the organization chart, technical expertise, proficiencies,education, language, and prior communication with the caller, etc. Theprofile information also includes availability data of the users thatindicate when each of the users may be available to answer a call.

The data stored in database 110 and/or storage device 125 is transmittedto collaboration server 105 before, after, or during an ongoingcollaboration session. In some embodiments, the data stored in database110 and/or storage device 125 is transmitted to collaboration server 105before, after, or during a call is initiated from telephone 135 to acollaboration session. In some embodiments, database 110 and/or storagedevice 125 reside in a cloud-based server that is accessible bycollaboration server 105 and/or user devices 120 through network 115.While database 110 and/or storage device 125 are illustrated as anexternal device connected to collaboration server 105, in someembodiments, database 110 also reside within collaboration server 105 asinternal components of collaboration server 105.

As shown in FIG. 1, participants 130A-130D of a collaboration sessioncommunicate with one another using various types of user devices120A-120D. User devices 120A-120D can be a television, tablet, computermonitor, video conferencing console, laptop computer, cellular phone,smart phone, wearable device, or the like with electronic communicationscapability. User devices 120A-120D include a screen for displaying dataor be operatively connected with an external display for displayingdata. User devices 120A-120D also include video/audio input devices suchas a video camera, web camera, or the like. User devices 120A-120Dinclude one or more software applications that facilitate the userdevices to engage in electronic communications, such as electronicmessages, Von′ calls, video/audio calls, video/audio conferences, withone another in a collaboration environment where each participant mayview content shared by other participants and may share content that canbe accessed by other participants in the collaboration environment(e.g., in a collaboration session). For example, each of user devices120A-120D may display a collaboration interface enabling users of userdevices 120A-120D to communicate with each other using text-basedmessages, audio-based messages, video-based messages, and to sharecontent, such as documents, files, etc. In some embodiments,communication system 100 also includes devices without display or videocapture capabilities, such as a cellular phone or a telephone 135.

FIG. 2 illustrates example components of a user device 200 for use incommunication system 100. User device 200 implements computer programs,applications, methods, processes, or other software to performembodiments described in the present disclosure. Each of user devices120A-120D is the same as or similar to user device 200. As shown in FIG.2, user device 200 includes a memory interface 202, one or moreprocessors 204 such as data processors, image processors and/or centralprocessing units, and a peripherals interface 206. Memory interface 202,one or more processors 204, and/or peripherals interface 206 areseparate components or integrated in one or more integrated circuits.The various components in user device 200 are coupled by one or morecommunication buses or signal lines.

Sensors, devices, and subsystems are coupled to peripherals interface206 to facilitate multiple functionalities. For example, a motion sensor210, a light sensor 212, and a proximity sensor 214 are coupled toperipherals interface 206. Motion sensor 210 is configured to detect amotion (e.g., acceleration) and/or an orientation of user device 200.Light sensor 212 is configured to sense an amount of light, which isused to adjust the brightness of a screen of user device 200. Proximitysensor 214 is configured to detect a distance between user device 200and an object outside of user device 200. The distance information isused for triggering near field communication with another user device200, or any other device that provides near field communicationfunctions.

Other sensors 216 are connected to peripherals interface 206, such as apositioning system (e.g., GPS receiver), a temperature sensor, abiometric sensor, or other sensing device, to facilitate relatedfunctionalities. A GPS receiver is integrated with, or connected to,user device 200. For example, a GPS receiver may be built into mobiletelephones, such as smartphone devices. GPS software allows mobiletelephones to use an internal or external GPS receiver (e.g., connectingvia a serial port or Bluetooth). A camera subsystem 220 and an opticalsensor 222, e.g., a charged coupled device (“CCD”) or a complementarymetal-oxide semiconductor (“CMOS”) optical sensor, are utilized tofacilitate camera functions, such as recording photographs and videoclips.

Communication functions are facilitated through one or morecommunication subsystems 224, which may be wired or wirelesscommunication subsystems. For example, communication subsystems 224include an Ethernet port, radio frequency receivers and transmitters,WiFi or cellular wireless transceivers, and/or optical (e.g., infrared)receivers and transmitters. The specific design and implementation ofthe wireless/wired communication subsystem 224 depends on thecommunication network(s) over which user device 200 is intended tooperate. For example, in some embodiments, user device 200 includeswireless/wired communication subsystems 224 designed to operate over aGSM network, a GPRS network, an EDGE network, a Wi-Fi or WiMax network,and a Bluetooth® network.

Communication subsystems 224 also include a subsystem for handlingaudio/video calls. The subsystem for handling calls includes a nativedialer that includes a circuit and a software application configured toprovide telephony services such as PSTN or VoIP calls. The native dialerenables a user of user device 200 to dial a phone number to initiate acall, and to receive and handle a call (e.g., answer the call, rejectthe call, hold the call, forward the call, divert the call to voicemail, conference multiple calls, etc.). In some embodiments, when aparticipant of a collaboration session receives a call on user device200, the native dialer cooperates with a collaboration interface of thecollaboration session. For example, in some embodiments, the nativedialer forwards or re-routes the call to the desktop softwareapplication or mobile application that implements the collaborationmethods disclosed herein, or to the desktop web browser or mobile webbrowser that implements the collaboration methods disclosed herein. Insome embodiments, when the native dialer receives the call, processor204 also receives contextual information associated with the call (e.g.,an electronic message indicating the subject of the call). Processor 204determines based on the contextual information that another participantor another collaboration session should receive the call, and instructsthe native dialer to forward the call to the other participant orcollaboration session. The native dialer includes a softwareapplication, which is displayed as an interface when a call is received,on screen 246 to alert the user of user device 200 of the incoming call.The interface includes one or more selectable elements for receivinguser inputs. For example, the one or more elements include an elementfor answering a call, an element for rejecting or ignoring a call, anelement for forwarding a call, an element for diverting a call to voicemail, an element for holding a call, and an element for conferencingmultiple calls, etc. The native dialer may be part of the operatingsystem 252 of the user device 200, or a standalone application such as adesktop client application or mobile application (app).

An audio subsystem 226 is coupled to a speaker 228 and a microphone 230to facilitate voice-enabled functions, such as voice recognition, voicereplication, digital recording, and telephony functions.

The I/O subsystem 240 includes a screen controller 242 and/or otherinput controller(s) 244. The screen controller 242 is coupled to ascreen 246. Screen 246 is a touch screen or a non-touch screen, such asa CRT or LCD, LED non-touch screen. When screen 246 is a touch screen,screen 246 and screen controller 242 are configured to, for example,detect contact and movement or break thereof using any of a plurality oftouch sensitivity technologies, including but not limited to capacitive,resistive, infrared, and surface acoustic wave technologies, as well asother proximity sensor arrays or other elements for determining one ormore points of contact with screen 246. Screen 246 is used to implementvirtual or soft buttons and/or a keyboard. In some embodiments, touchscreen 246 is configured to receive user input, such as touching,tapping, double tapping, pressing, holding, swiping, dragging anddropping, clicking, double clicking, etc.

The other input controller(s) 244 is coupled to other input/controldevices 248, such as one or more buttons, rocker switches, thumb-wheel,infrared port, USB port, and/or a pointer device such as a stylus.

Memory interface 202 is coupled to a memory 250. Memory 250 includeshigh-speed random access memory and/or non-volatile memory, such as oneor more magnetic disk storage devices, one or more optical storagedevices, and/or flash memory (e.g., NAND, NOR). Memory 250 stores anoperating system 252, such as DRAWIN, RTXC, LINUX, iOS, UNIX, OS X,WINDOWS, or an embedded operating system such as VXWorkS. The operatingsystem 252 includes instructions for handling basic system services andfor performing hardware dependent tasks. In some implementations,operating system 252 is a kernel (e.g., UNIX kernel).

Memory 250 is configured to store communication instructions 254 tofacilitate communicating with one or more additional devices, one ormore computers and/or one or more servers. Memory 250 includes graphicaluser interface instructions 256 to facilitate graphic user interfaceprocessing; sensor processing instructions 258 to facilitatesensor-related processing and functions; phone instructions 260 tofacilitate phone-related processes and functions; electronic messaginginstructions 262 to facilitate electronic-messaging related processesand functions; web browsing instructions 264 to facilitate webbrowsing-related processes and functions; media processing instructions266 to facilitate media processing-related processes and functions;GPS/navigation instructions 268 to facilitate GPS and navigation-relatedprocesses and instructions; camera instructions 270 to facilitatecamera-related processes and functions; and/or other softwareinstructions 272 to facilitate other processes and functions. Memory 250also includes multimedia conference call managing instructions 274 tofacilitate conference call related processes and instructions.

The phone instructions 260 include instructions to the native dialerprovided within communication subsystems 224 of user device 200 forhandling phone calls. For example, phone instructions includeinstructions, which when executed by processor 204, cause screen 246 todisplay an interface including one or more elements for receiving userinputs that instruct the native dialer how to handle the calls. Thephone instructions include instructions corresponding to the variouselements of the interface for handling the call.

In some embodiments, communication instructions 254 include softwareapplications, such as a desktop client application, a mobile application(or app), a desktop web browser, and a mobile web browser, to facilitateconnection with collaboration server 105 that hosts group communicationbetween a group of participants. Graphical user interface (GUI)instructions 256 include a software program that facilitates aparticipant associated with user device 200 to receive communicationcontent from collaboration server 105, provide user input, and so on.Graphical user interface instructions 256 include a software programthat facilitates a participant associated with the user device 200 toprovide a user input, such as selection of one of a plurality ofselectable elements displayed on a screen, to instruct user device 200to handle a call (e.g., to answer, reject, forward a call, or divert thecall to voice mail).

Each of the identified instructions and applications correspond to a setof instructions for performing one or more functions described above.These instructions need not be implemented as separate softwareprograms, procedures, or modules. In some embodiments, memory 250includes additional instructions or fewer instructions. Furthermore,various functions of user device 200 are implemented in hardware and/orin software, including in one or more signal processing and/orapplication specific integrated circuits.

FIG. 3 shows a diagram of an example collaboration server 105,consistent with the disclosed embodiments. As shown, collaborationserver 105 includes one or more processors 300, an email interface 305,a text message interface 310, and a telephone service interface 315.Collaboration server 105 also includes a memory 320 configured to storeprograms 325. Programs 325 include server applications (or server apps)330 and operating system 335. Memory 320 is also configured to storedata 340. Collaboration server 105 further includes an input/output(“I/O”) devices 345, a network interface 350, and a telephone serviceinterface 315. Collaboration server 105 communicates with database 110and/or storage device 125 through a suitable communication interface,such as a data communication bus, a wired communication port, and/or awireless communication transceiver. In some embodiments, database 110and/or storage device 125 are included within collaboration server 105.Collaboration server 105 is a single server or is configured as adistributed computer system including multiple servers, server farms,clouds, or computers that interoperate to perform one or more of theprocesses and functionalities associated with the disclosed embodiments.

Processor 300 includes one or more processing devices configured toperform functions of the disclosed methods, such as a microprocessormanufactured by Intel™ or manufactured by AMD™. Processor 300constitutes a single core or multiple core processors executing parallelprocesses simultaneously. In some embodiments, processor 300 is a singlecore processor configured with virtual processing technologies. In someembodiments, processor 300 uses logical processors to simultaneouslyexecute and control multiple processes. Processor 300 implements virtualmachine technologies, or other technologies to provide the ability toexecute, control, run, manipulate, store, etc. multiple softwareprocesses, applications, programs, etc. In some embodiments, processor300 includes a multiple-core processor arrangement (e.g., dual, quadcore, etc.) configured to provide parallel processing functionalities toallow collaboration server 105 to execute multiple processessimultaneously. In some embodiments, other types of processorarrangements are used in processor 300 to provide for the capabilitiesdisclosed herein.

Email interface 305 enables collaboration server 105 (e.g., processor300) to communicate with email server 145 by emails. Email interface 305includes both software and hardware components. In some embodiments,email interface 305 includes an email application or software, such as aweb-based email portal. Email interface 305 also includes hardwarecomponents, such as circuits and processors configured for emailapplications.

Text message interface 310 enables collaboration server 105 (e.g.,processor 300) to communicate with text message server 150 by textmessages. Text message interface 310 includes both software and hardwarecomponents. In some embodiments, text message interface 310 includes atext messaging application or software, such as an instant messaginginterface. Text message interface 310 includes hardware components, suchas circuits and processors configured for text messaging applications.

In some embodiments, email interface 305 and text message interface 310are integrated within an electronic messaging interface that is providedwith email and text message handling functions. In such embodiments,separate email interface 305 and text message interface 310 are notprovided.

In some embodiments, user device 200 includes an email interface, whichmay be similar to email interface 305. The email interface included inuser device 200 enables user device 200 to send and receive emails toand from other systems and devices, such as collaboration system 101. Insome embodiments, user device 200 includes a text message interface,which is similar to text message interface 310. The text messageinterface included in user device 200 enables user device 200 to sendand receive text messages to and from other systems and devices, such ascollaboration system 101.

Based on an input received from a caller (e.g., user of telephone 135 orany other user devices 120A-120D), telephone server 140 initiates a call(e.g., a telephone call) to collaboration system 101 (FIG. 1). Forexample, in some embodiments, telephone server 140 initiates the call toa participant of a collaboration session directly (e.g., by calling aphone number associated with a user device of the participant). In someembodiments, telephone server 140 initiates the call to a collaborationsession that is associated with a phone number.

In some embodiments, before, after, and during the call, based on aninput received from the caller, electronic message server 148 sendselectronic messages to collaboration server 105. For example, based onthe input received from the caller, email server 145 sends an email tocollaboration server 105. Based on an input received from the caller,text message server 150 sends a text message to collaboration server105. The electronic messages (e.g., email and/or text message) providecontextual information regarding the call. The contextual informationincludes the purpose of the call (e.g., to discuss a marketing idea).After collaboration server 105 receives the electronic messages,collaboration server 105 analyzes the content of the electronicmessages, and based on the analysis, identifies the contextualinformation (e.g., the purpose of the call is to discuss a marketingidea) relating to the call.

Collaboration server 105 uses the contextual information identified fromthe electronic messages received from the caller, including ongoingelectronic messages and archived electronic messages, to determine oridentify a collaboration session from a plurality of collaborationsessions as a destination to direct the call. For example, collaborationserver 105 may analyze prior emails about marketing with expectationthat a call from the marketing representative will be forthcoming. Whencollaboration server 105 receives a call from the marketingrepresentative, collaboration server 105 directs the call to acollaboration session of the marketing department. As another example,when a product manager calls, collaboration server 105 analyzes priorelectronic messages exchanged during collaboration sessions and identifya collaboration session that discussed product improvements, and directsthe call to the collaboration session. In some embodiments,collaboration server 105 analyzes ongoing emails or text messagesexchanged between participants in a plurality of collaboration sessionsto identify a collaboration session in which a subject of discussionrelates to or closely matches the contextual information related to thecall, and directs the call to the identified collaboration session. Theprocess of identifying a collaboration session from a plurality ofcollaboration sessions is not performed if there is only onecollaboration session in collaboration system 101, or if the dialednumber is assigned to a particular collaboration session.

After identifying the collaboration session, collaboration server 105causes a notification (e.g., a call notification user interface)regarding the incoming call to be displayed within a collaborationinterface of the collaboration session that is displayed on the userdevice associated with at least one participant in the collaborationsession. The same or similar interfaces are displayed on some or all ofthe user devices of the participants of the collaboration session,enabling the participants to collaborate (e.g., share communicationcontent) with one another using various communication mechanisms.

In some embodiments, the at least one participant is an administrator ormoderator of the collaboration session. The notification is displayedwithin the collaboration interface of the moderator of the collaborationsession. The moderator manages the call, or identifies a participant tomanage the call.

In some embodiments, the at least one participant includes some or allof the participants, and the notification is displayed within thecollaboration interface of the collaboration session that is displayedon the user devices associated with some or all of the participants. Insome embodiments, the notification includes contextual informationregarding the call, or the contextual information is displayed withinthe collaboration interface as a message adjacent, within, or separatefrom the notification. Collaboration server 105 determines a participantto receive the call based on the contextual information. In someembodiments, collaboration server 105 determines a participant toreceive the call based on a user input (e.g., a drag and drop input onthe notification) received at a user device associated with themoderator of the collaboration session.

In some embodiments, after identifying the participant of the call (theparticipant may be referred to as the recipient participant),collaboration server 105 enables display of a same, similar, ordifferent notification regarding the call within the collaborationinterface of the collaboration session on the user device associatedwith the recipient participant to enable the participant to provide aninput to the user device to instruct the user device to handle the call(e.g., answering the call, rejecting the call, forwarding the call tosomeone, or diverting it to voice mail).

Collaboration server 105 includes one or more storage devices configuredto store information used by processor 300 (or other components) toperform certain functions related to the disclosed embodiments. Forexample, collaboration server 105 includes memory 320 that includesinstructions to enable collaboration server 105 to execute one or moreapplications, such as server apps 330, operating system 335, and anyother type of application or software known to be available on computersystems. Alternatively or additionally, the instructions, applicationprograms, etc. are stored in database 110 and/or storage device 125,which are external to collaboration server 105. In some embodiments,database 110 and/or storage device 125 are included within collaborationserver 105.

Memory 320, database 110, and/or storage device 125 include a volatileor non-volatile, magnetic, semiconductor, tape, optical, removable,non-removable, or other type of storage device or tangible ornon-transitory computer-readable medium. Memory 320, storage device 125,and/or database 110 include one or more memory devices that store dataand instructions that processor 300 accesses, for example, to performone or more features of the disclosed embodiments. Memory 320, storagedevice 125, and/or database 110 also include any combination of one ormore databases controlled by memory controller devices (e.g., server(s),etc.) or software, such as document management systems, Microsoft SQLdatabases, SharePoint databases, Oracle™ databases, Sybase™ databases,or other relational databases.

In some embodiments, memory 320 is a volatile or non-volatile, magnetic,semiconductor, tape, optical, removable, non-removable, or other type ofstorage device or tangible or non-transitory computer-readable mediumthat stores one or more program(s) 325 such as server apps 330 andoperating system 335, and data 340. Common forms of non-transitory mediainclude, for example, a flash drive a flexible disk, hard disk, solidstate drive, magnetic tape, or any other magnetic data storage medium, aCD-ROM, any other optical data storage medium, any physical medium withpatterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM or any otherflash memory, NVRAM, a cache, a register, any other memory chip orcartridge, and networked versions of the same.

Programs 325 include one or more software modules causing collaborationserver 105 to perform one or more functions of the disclosedembodiments. Moreover, collaboration server 105 executes one or moreprograms located remotely from one or more components of communicationsystem 100. For example, collaboration server 105 accesses one or moreremote programs that, when executed, perform functions related todisclosed embodiments.

Server app(s) 330 cause collaboration server 105 to perform one or morefunctions of the disclosed methods. For example, server app(s) 330 causecollaboration server 105 to establish a communication group (e.g., acollaboration session) among a plurality of participants. Server app(s)330 also cause collaboration server 105 to provide an interface within acollaboration interface of the collaboration session to enable one ormore participants of the collaboration session to instruct at least oneuser device to handle a call initiated outside of the collaborationsession. In some embodiments, other components of the communicationsystem 100 are configured to perform one or more functions of thedisclosed methods. For example, user devices 120A-120D are configured toreceive a user input relating to a notification for specifying arecipient participant to receive the call.

In some embodiments, program(s) 325 include(s) operating system 335performing operating system functions when executed by one or moreprocessors such as the processor 300. By way of example, operatingsystem 335 includes Microsoft Windows™ Unix™, Linux™, Apple™ operatingsystems, Personal Digital Assistant (PDA) type operating systems, suchas Microsoft CE™, or other types of operating systems. Accordingly,disclosed embodiments may operate and function with computer systemsrunning any type of operating system 335. Collaboration server 105 alsoincludes software that, when executed by processor 300, providescommunications with network 115 through a network interface 350 and/or adirect connection to one or more user devices 120A-120D.

In some embodiments, data 340 includes, for example, profiles ofparticipants of a communication group (e.g., a collaboration session).Profile information of a user or participant may include, for example, afunction within an organization, a job title, technical expertise,education, language, and prior communication with the caller, etc. Insome embodiments, data 340 includes instant messages sent by theparticipants during an ongoing collaboration session, documents andaudio/video files shared by the participants of the collaborationsession, communication content (e.g., messages, documents, and files,etc.) archived for a prior collaboration session, and access controlsettings associated with the shared documents and/or files.

Collaboration server 105 also includes one or more I/O devices 345having one or more interfaces for receiving signals or input fromdevices and providing signals or output to one or more devices thatallow data to be communicated (received and/or transmitted) bycollaboration server 105. In some embodiments, I/O devices 345 includeinterface components for interfacing with one or more input devices,such as one or more keyboards, mouse devices, touch screen, USB dataports, and the like, which enable collaboration server 105 to receiveinput from a user (e.g., an operator or administrator) of collaborationserver 105.

Network interface 350 includes hardware components and softwarecomponents that enable collaboration server 105 to communicate withnetwork 115. In some embodiments, network interface 350 includes amodem, an Ethernet card, an Ethernet cable port, a WiFi transceiver,and/or software including instructions and protocols for communication.

Telephone service interface 315 includes hardware and softwarecomponents that enable collaboration server 105 to communicate with atelephone system that includes telephone server 140. Telephone serverinterface 315 enables collaboration server 105 to receive a telephonecall from the telephone system. For example, based on an input receivedfrom a user of telephone 135 or any of user devices 120, telephoneserver 140 initiates a call to a collaboration session or a participantof the collaboration session. Collaboration server 105 receives the callthrough telephone service interface 315. Telephone service interface 315is also associated with other devices included in collaboration system100, for example, to route, direct, or forward a call to a collaborationsession, and/or to a user device associated with a participant.

When a plurality of collaboration sessions are included in collaborationsystem 101, collaboration server 105 identifies one of the collaborationsessions for receiving an incoming call from telephone server 140.Collaboration server 105 identifies the collaboration session throughvarious methods. In some embodiments, each collaboration session isassociated with a unique identifier, such as a name, a telephone number,an extension number, etc. When a call is initiated by telephone server140, the call specifies an identifier of a collaboration session.Collaboration server 105 automatically identifies a collaborationsession by matching the identifier specified by the call with the uniqueidentifier of the collaboration session, and route the call to theidentified collaboration session. In some embodiments, the identifierspecified by the call is represented as a caller ID.

As another example, collaboration server 105 obtains contextualinformation regarding the call. Contextual information is obtainedthrough various methods. In some embodiments, collaboration server 105obtains contextual information based on an input provided by the callerduring an Interactive Voice Response (IVR) process, one or moreelectronic messages (e.g., emails from email server 145 and/or textmessages from text message server 150) regarding the call sent by thecaller before, after, or during the time the call is initiated throughtelephone server 140. Collaboration server 105 also obtains contextualinformation based on communication history (e.g., prior communicationcontent archived in database 110 and/or storage device 125) involvingthe caller, including, for example, prior electronic messages (emailsand/or text messages) received from the caller, and/or notes takenduring prior calls, which are related to the caller.

In some embodiments, before, after, or during the time the call isinitiated through telephone server 140, an IVR system associated withtelephone server 140 prompts the caller to answer questions by inputtingselections of menu options or by a voice input. The user input receivedfrom the caller relates to the subject matter of the call (e.g., purposeof the call is to discuss a marketing idea). After the caller inputs thepurpose of the call, telephone server 140 provides the user input tocollaboration server 105. Collaboration server 105 analyzes the inputduring the IVR process to obtain contextual information regarding thecall. In some embodiments, the IVR system sends the user input toelectronic message server 148 (e.g., to email server 145 and/or textmessage server 150), which sends an electronic message (e.g., an emailand/or a text message) including the user input to collaboration server105. Collaboration server 105 analyzes the electronic message toidentify contextual information relating to the call, e.g., the purposeof the call is to discuss a marketing idea.

In some embodiments, the caller sends electronic messages (e.g., emailsand/or text messages) to collaboration server 105 before, after, orduring the time the call is initiated. The electronic messages receivedfrom electronic message server 148 (e.g., email server 145 and/or textmessage server 150) indicate the subject matter of the call.Collaboration server 105 analyzes the electronic messages to identifythe contextual information regarding the call. In some embodiments,collaboration server 105 obtains communication history involving thecaller from database 110 and/or storage device 125. The communicationhistory includes prior communication content, such as emails, textmessages, and/or prior phone call records. Collaboration server 105analyzes the communication history to obtain contextual informationregarding the call.

Collaboration server 105 identifies the subject matter of the call(e.g., to discuss a marketing idea) based on the contextual information.For example, collaboration server 105 identifies a collaboration sessionfrom a plurality of collaboration sessions based on the subject matterof the call and information (e.g., characteristics) of the collaborationsessions. In some embodiments, collaboration server 105 compares thesubject matter of the call with information regarding the collaborationsessions, such as characteristics of the collaboration session includingthe subject of discussion and the profile of the participants of thecollaboration session. For example, collaboration server 105 identifiesthe collaboration session to receive the call when it determines thatthe subject of discussion of the collaboration session matches orclosely relates to the subject matter of the call.

As another example, collaboration server 105 identifies thecollaboration session to receive the call by comparing the subjectmatter of the call with the profile of the participants. The profile ofthe participants of the collaboration sessions includes variousinformation regarding the participants, such as a function within anorganization (marketing, sales, legal, customer services, etc.), a jobtitle (e.g., Marketing Assistant, Legal Counsel, Sales, CustomerServices, etc.), technical expertise (e.g., engineering, sales,marketing, legal advice, etc.), education, language (e.g., English,Spanish, German, etc.), and prior communication with the caller (e.g.,notes showing a participant having communicated with caller), etc.Collaboration server 105 determines, based on the profile and thesubject matter of the call, that some participants of a collaborationsession are best suited to answer the call. For example, if the subjectmatter of the call relates to marketing, collaboration server 105identifies a collaboration session having participants from themarketing department as the destination collaboration session for thecall.

After a collaboration session is identified, collaboration server 105directs the call to the collaboration session. FIG. 4 shows an examplecollaboration interface 400 for a collaboration session that isdisplayed on user devices (e.g., user devices 120A-120D), which may behandheld devices, smart phones, tablets, desktop computers, laptopcomputers, and servers (e.g., collaboration server 105) included incollaboration system 101 for managing calls in a collaboration session.The collaboration session enables two or more users (or participants) tocollaborate with each other, such as sharing contents (files and/ordocuments) and communicating electronically using text-based,audio-based, and/or video-based communication mechanisms. Eachparticipant of the collaboration session is associated with at least auser device (e.g., one of user devices 120A-120D) that displays asimilar collaboration interface 400. Collaboration interface 400 is alsodisplayed on a computer and/or server associated with an administratorof collaboration system 101 and/or moderators of the collaborationsessions.

Collaboration interface 400 provides a collaborative platform enablingparticipants to communicate and collaborate with each other. Forexample, collaboration interface 400 enables participants to exchangeinformation through online communication, to access calendars (e.g.,send and receive calendar invitations), to access tasks list (e.g.,share tasks and/or progresses of a task), to share files, documents, andwebpages, and to process files (e.g., opening, editing, sharingdocuments stored in the user device and/or in collaboration server 105),and to access archived (or cached or temporarily deleted) communicationcontent (including messages, files, and/or documents).

As shown in FIG. 4, collaboration interface 400 includes or displays aplurality of selectable (e.g., clickable, touchable) user interfaceitems. In some embodiments, collaboration interface 400 includes feweror additional selectable interface items. In the example shown in FIG.4, collaboration interface 400 includes a header section 405 indicatingthat collaboration interface 400 is associated with “collaborationsession 1,” which may be a past session or an ongoing session. If thecollaboration session is no longer active, it may be marked as anarchived or deleted collaboration session. Collaboration interface 400includes a search box 410, which is configured to receive an input of akey word or a key phrase for searching the word or phrase in a pluralityof resources, such as a contacts list, a list of teams, a list ofgroups, a calendar, a tasks list, a file folder, etc. Collaborationinterface 400 displays a list of people 415 (people list 415 or contactslist 415), listing contacts of the user associated with the user deviceon which collaboration interface 400 is displayed. In the example shownin FIG. 4, two persons, “Tony” and “Emily” are included in the list ofpeople 415.

Collaboration interface 400 displays a list of teams 420, such as “Team1” and “Team 2.” Under each team, one or more users associated with theteam are also displayed. In the example shown in FIG. 4, three users“User 1,” “User 2,” and “User 3” are listed under team 1. Collaborationinterface 400 displays a list of groups 425. For example, two groups“Group 1” and “Group 2” are included in list of groups 425. In someembodiments, a group includes one or more teams. A team includesparticipants from different groups or the same group. In the exampleshown in FIG. 4, collaboration session 1 may include participants fromTeam 1, Team 2, Group 1, or Group 2.

Collaboration interface 400 displays an icon 430 for accessing acalendar. When collaboration server 105 receives a user input on icon430 (e.g., an input indicating selection of icon 430), collaborationserver 105 causes a calendar to be displayed within collaborationinterface 400 of the collaboration session 1. In some embodiments,collaboration server 105 causes the calendar to be displayed outside ofcollaboration interface 400, for example, through an interface separatefrom collaboration interface 400 for displaying calendars.

Collaboration interface 400 displays an icon 435 for accessing a list oftasks. When collaboration server 105 receives a user input on icon 435(e.g., an input indicating selection of icon), collaboration server 105causes a list of tasks to be displayed within collaboration interface400 of the collaboration session 1. In some embodiments, collaborationserver 105 causes the list of tasks to be displayed outside ofcollaboration interface 400, for example, through an interface separatefrom collaboration interface 400 for displaying tasks.

Collaboration interface 400 includes a textbox 450 enabling the user(participant) associated with the user device that displayscollaboration interface 400 to enter a text message for communicatingwith other participants of the collaboration session. Collaborationinterface 400 includes an “Enter” button 455, selectable (e.g.,clickable or touchable) by a user. After receiving a user input of thetext message in textbox 450, when detecting a user input of selectingthe “Enter” button 455 (or some other entry assigned to initiate thesame operation) collaboration server 105 causes the entered text messageto be sent and entered into a communication zone 460 and displayedtherein. Other methods may be used to enter a message. For example,collaboration interface 400 may include an audio and/or video inputelement enabling a user to record an audio and/or video message and postthe recorded message. Communication zone 460 displays communicationcontent, such as audio and/or video messages, text messages (e.g., textmessages 461 and 462, entered by a plurality of participants of thecollaboration session), documents, files, emotional icons, images, linksto websites (e.g., URLs), etc.

In some embodiments, while a participant is using collaborationinterface 400, the collaboration session receives a call from outside ofthe collaboration session. In some embodiments, telephone server 140initiates a call based on an input received from a user of telephone135. In other embodiments, telephone server 140 initiates the call basedon an input received from a participant of another collaboration sessionin the same collaboration system 101, or from a participant of anothercollaboration system. The call may be a video, and/or an audio call.

As shown in FIG. 4, collaboration server 105 causes a notification 470to be displayed within collaboration interface 400 of the collaborationsession. Notification 470 is displayed within collaboration interface400 integrated within a desktop client application, a mobileapplication, or a desktop or mobile web browser. Notification 470 alertsthe user associated with the user device on which collaborationinterface 400 is being presented that a call (e.g., a telephone call, avideo and/or audio call) or a voice message has been received. In someembodiments, notification 470 includes one or more elements.Notification 470 is repositioned temporarily or permanently withincollaboration interface 400 as a whole unit, or each of the elements isseparable from notification 470 and be moved and repositioned withincollaboration interface 400. In some embodiments, each of the elementsis selectable (e.g., touchable, clickable, draggable, etc.). Whencollaboration server 105 receives a user input of one of the elementsincluded in notification 470, collaboration server 105 executes apredetermined action associated with the one of the elements. In theexample shown in FIG. 4, notification 470 includes an element 471indicating a call has been received. Although element 471 includes text“call” to indicate a call, element 471 may include other means, such asicons, images, animations, etc., to indicate a received call. In someembodiments, notification 470 includes an element 472 indicating that avoice message has been received. Although element 472 includes text “VM”to indicate a voice message, element 472 may include other means, suchas icons, images, animations, etc., to indicate a received voicemessage.

Notification 470 includes elements 473-476 to indicate various optionsfor instructing the device how to handle the call. For example,notification 470 includes an element 473 associated with answering acall, an element 474 associated with rejecting the call, an element 475associated with forwarding the call to another recipient or to avoicemail, an element 476 for hiding the call (e.g., such thatnotification 470 disappears from collaboration interface 400). Each ofthe elements included in notification 470 may be separable fromnotification 470, and be repositioned within collaboration interface 400(e.g., being separated from notification 470, dragged and dropped atanother portion of collaboration interface 400). In some embodiments,notification 470 may be dragged and dropped as a single interface, andbe repositioned within collaboration interface 400.

Collaboration server 105 causes notification 470 regarding the call tobe displayed in collaboration interface 400 on at least one user deviceassociated with at least one participant of the collaboration session.In some embodiments, collaboration server 105 causes notification 470 tobe displayed within collaboration interface 400 displayed on the userdevice (e.g., one of user devices 120A-120D) associated with a moderatoror administrator of the collaboration session. In some embodiments,collaboration server 105 causes notification 470 to be displayed withincollaboration interface 400 displayed on the user devices associatedwith some or all of the participants of the collaboration session.

As shown in FIG. 4, collaboration server 105 receives a drag and dropinput (as represented by a hand-shaped cursor 485 and a dashed line 490)on notification 470 from a user associated with the user device on whichcollaboration interface 400 is displayed. The drag and drop input maycause notification 470 as a single interface or one or more elements ofnotification 470 to be repositioned within collaboration interface 400,e.g., to be placed onto an icon 500 representing “User 2” in “Team 1”,who is a participant of collaboration session 1. Based on the drag anddrop input, collaboration server 105 identifies User 2 as a recipient ofthe call, and directs (e.g., forwards or routes) the call to the userdevice associated with User 2.

In some embodiments, notification 470 is displayed within collaborationinterface 400 displayed on a user device (e.g., one of user devices120A-120D) of a moderator or a participant of collaboration session 1.The moderator or participant determines which participant of thecollaboration session should receive the call, and drags and dropsnotification 470 onto an icon representing that participant (e.g., icon500 representing user 2 listed under Team 1).

In some embodiments, the moderator and/or a participant provides aninput on notification 470 to instruct the user device associated withthe moderator and/or the participant to handle the call. For example, insome embodiments, notification 470 is displayed within collaborationinterface 400 on the user devices associated with the moderator of thecollaboration session 1 and/or some or all of the participants ofcollaboration session 1. The moderator and/or a participant may click,press, or touch the selectable elements 473-476 displayed onnotification 470 to instruct the user device associated with themoderator and/or the participant to handle the call, such as answeringthe call (by pressing, clicking, or touching element 473), rejecting thecall (by pressing, clicking, or touching element 474), forwarding thecall to another participant, collaboration session, or phone number (bypressing, clicking, or touching element 475), or hiding the call (bypressing, clicking, or touching element 476).

FIG. 5 shows an example collaboration interface and the methods ofidentifying a participant of a collaboration session as a recipient of acall. Collaboration interface 400 displays a queue 495 listing one ormore calls waiting to be answered. In some embodiments, notification 470is displayed within collaboration interface 400 displayed on the userdevice associated with the moderator of the collaboration session. Themoderator may manually place the call in queue 495 by dragging anddropping notification 470 or one or more elements of notification 470into the list of queue 495. Upon receiving the drag and drop input onnotification 470, collaboration server 105 places the call in queue 495.

In some embodiments, collaboration server 105 automatically places theincoming calls in a queue 495 of calls displayed within collaborationinterface 400. In such embodiments, collaboration interface 400 does notdisplay notification 470. Queue 495 displays calls in a list, with theolder calls on the top and newer calls at the bottom. In someembodiments, the calls are sorted in queue 495 in other orders, such asbased on the importance of the calls. Queue 495 is displayed on the userdevices associated with some or all of the participants of thecollaboration session. When a call is answered, collaboration server 105updates queue 495 to remove the call. The update is reflected oncollaboration interface 400 displayed on some or all of the participants(including the moderator) of the collaboration session. A briefdescription of each incoming call is displayed in queue 495. Forexample, as shown in FIG. 5, “marketing issue” is displayed to describe“Call 1,” “legal issues” is displayed to describe “Call 2.” Additionallyand/or alternatively, caller's identity, such as names, handles,avatars, pseudo names, login names, or the like, is displayed for eachcall, if the caller's identity is identified by collaboration server 105from the contextual information. For example, collaboration server 10identifies the caller's identity from the electronic messages (e.g.,emails and/or text messages) received from the caller before, after, orduring the time the call is initiated through telephone server 140. Asanother example, a caller's identity may be entered by the caller, via atext or voice input, during the IVR process when the caller initiatesthe call. Collaboration server 105 analyzes the electronic messages, andthe caller's input during the IVR process to identify the caller'sidentity. For example, in some embodiments, collaboration interface 400displays, in queue 495, “Call 3 from Tony (Subject: financialstatements).”

In some embodiments, the calls in queue 495 are manually reassigned to aparticipant. For example, in some embodiments, the moderator or anyparticipant (e.g., a first participant) determines who should answer thecall, and specifies the recipient participant (e.g., a secondparticipant) by, for example, dragging and dropping a call in from queue495 (e.g., a first call in the queue or any call in the queue) onto anicon (e.g., icon 500) representing the recipient participant displayedin the user device associated with the first participant. Upon receivingthe drag and drop input from the user device associated with themoderator or any participant, collaboration server 105 identifies thesecond participant as the recipient of the call, and directs the call tothe second participant.

In some embodiments, collaboration server 105 automatically assigns acall to a participant based on the availability data of the plurality ofparticipants. For example, collaboration server 105 analyzes theavailability data, which may be stored in database 110 and/or storagedevice 125, to determine which participant is available, or may becomeavailable in the next 1 minute, 2 minutes, 5 minutes, etc., and assignsa call or a number of calls to the identified participant.

After collaboration server 105 identifies the user or participant toreceive the call, collaboration server 105 provides an interface on auser device (e.g., one of user device 120A-120D) associated with theidentified user or participant. The interface may be a call notificationinterface that is similar to notification 470, or different fromnotification 470. The interface is displayed within collaborationinterface 400 displayed on the user device associated with the user. Theinterface enables the identified user to instruct the user device tohandle the call within the collaboration session, such as answering thecall, forwarding the call, diverting the call to a voicemail, orrejecting the call, etc.

FIG. 6 shows a collaboration interface including a display of contextualinformation regarding the call as a message. As discussed above,collaboration server 105 identifies the contextual information based onthe user input received from the user's selections of options presentedto the caller by an IVR system, an electronic message received fromelectronic message server 148 (e.g., an email received from email server145, and/or a text message received from text message server 150), priorexchanges of electronic messages or other data with or associated withthe user, subject of calendar events with the user, etc. In someembodiments, collaboration server 105 retrieves communication historyinvolving the caller (including emails, text messages, notes about priorcalls, etc.) from storage device 125 and/or database 110. Collaborationserver 105 identifies the contextual information based on thecommunication history. In some embodiments, collaboration server 105identifies the contextual information based on a combination of the userinput received from the IVR system, the electronic messages receivedfrom the electronic message server 148, and the communication historystored in database 110 and/or storage device 125.

Collaboration server 105 causes the contextual information regarding thecall to be displayed as a message 600 within collaboration interface 400of the collaboration session when notification 470 regarding the call isalso displayed. In the example shown in FIG. 6, collaboration server 105causes message 600 “Call from John Sterns: discuss marketing idea” to bedisplayed adjacent notification 470 as a separate item. In someembodiments, message 600 is displayed within notification 470, orattached to notification 470.

Message 600 provides contextual information to a participant and/ormoderator of the collaboration session, such that the participant and/ormoderator may determine the subject matter of the call. The participantand/or moderator of the collaboration session determines whichparticipant is best suited to receive the call based on a comparison ofthe subject matter of the call and the profile information of theparticipants. For example, the moderator or any participant, to whomnotification 470 and message 600 are displayed, determines that User 2listed under Team 1 is best suited to answer the call. In someembodiments, the determination is based on the contextual informationregarding the call (as shown in message 600) and the profile of theparticipants of the collaboration session. For example, the profile ofthe participants of the collaboration sessions includes various type ofinformation regarding the participants, such as a function within anorganization (e.g., member of a marketing department, member of legaldepartment, etc.), a job title (e.g., Marketing Assistant, LegalCounsel, Sales, Customer Services, etc.), technical expertise (e.g.,engineering, sales, marketing, etc.), education, language (e.g.,Spanish, English, German), and prior communication with the caller. Insome embodiments, the moderator or any participant determines, based onthe profile and the subject matter of the call, that User 2 is bestsuited to answer the call. For example, if the subject matter of thecall relates to marketing, the moderator or any participant determinesthat User 2 from the marketing department is best suited to answer thecall, and drags and drops notification 470 with or without message 600onto icon 500 representing User 2. After receiving the drag and dropinput, collaboration server 105 identifies User 2 as a recipient of thecall, and directs the call to User 2. In some embodiments, afterreceiving the drag and drop input, collaboration server 105 displays thesame notification 470 and message 600 or similar notification andmessage on a user device associated with User 2 to enable User 2 toinstruct the user device to handle the call (e.g., answer the call,reject the call, divert the call to voicemail, or hide the call, etc.).The contextual information shown in message 600 assists User 2 tounderstand the purpose and/or subject matter of the call.

In some embodiments, when a user receives the call, the user responds tothe call using communication mechanisms other than audio and/or voicecommunication mechanisms. For example, in some embodiments, the usertypes a text message within collaboration interface 400 in response to acall, and collaboration server 105 converts the text message into anaudio/voice message and directs the audio/voice message to the caller orto a device (e.g., telephone 135 or any of user devices 120A-120D)associated with the caller, or terminates the call and sends the textmessage to the user.

FIG. 7 is a flowchart illustrating an example method 700 for managingcalls in a collaboration session. Method 700 can be performed by variousdevices disclosed above. For example, in some embodiments, method 700 isperformed by user devices 120A-120D. In other embodiments, method 700 isperformed by collaboration server 105.

Method 700 includes receiving a call into a collaboration session of acollaboration environment, such as collaboration system 101 (step 710).For example, in some embodiments, a collaboration session included incollaboration system 101 receives a call, such as a telephone call, fromtelephone server 140 located outside of the collaboration session. Acaller of telephone 135 dials a telephone number associated withcollaboration system 101 and/or a collaboration session, and telephoneserver 140 initiates and directs the call to collaboration server 105.Alternatively or additionally, telephone server 140 directs the call toa desktop or mobile software application that is provided with callreceiving and handling functions, to a desktop or mobile web browserthat is provided with call receiving and handling functions, or to anative dialer provided within the user devices 120A-120D.

Method 700 also includes determining contextual information regardingthe call and information regarding the plurality of users (step 720).The contextual information may indicate the subject matter of the call,such as the purpose of the call. In some embodiments, collaborationserver 105 analyzes an input received from the caller's selectionsthrough the IVR system, electronic messages (e.g., emails and/or textmessages) received from the caller before, after, or during the time thecall is initiated, and/or other communication history involving thecaller to identify contextual information regarding the call. Forexample, when the call is initiated, the caller may provide additionalinformation regarding previous emails and/or text messages (e.g.,date/time a previous email or text message was sent by the caller, asubject of a previous email or text message) in the IVR process.Collaboration server 105 associates the caller with the previous emailsand/or text messages based on the additional information provided by thecaller. In other embodiments, collaboration server 105 searches storedcommunication history (including chat entries during the collaborationsession or relating collaboration sessions, emails, text messages, notestaken during a call, etc.) to identify those records that are related tothe caller (e.g., by searching the phone number or the name of thecaller appearing in the records). When receiving the call, collaborationserver 105 accesses the previously received emails and/or text messagesto identify the contextual information related to the call. For example,collaboration server 105 estimates, based on the previous emails and/ortext messages, that a likely subject matter of the call is related todiscussing financial statement because in an earlier email or textmessage, the caller has indicated that he/she will call again to discussfinancial statements.

The information regarding the users includes profile informationregarding the users of the collaboration session. The profileinformation includes a function within an organization (e.g., member ofa marketing department, member of legal department, etc.), a job title(e.g., Marketing Assistant, Legal Counsel, Sales, Customer Services,etc.), technical expertise (e.g., engineering, sales, marketing, etc.),education, language (e.g., Spanish, English, German), and priorcommunication with the caller. Collaboration server 105 accesses storagedevice 125 or database 110 and determines the information regarding theusers from various data saved in storage device 125 or database 110regarding the users.

Method 700 also includes identifying a user from a plurality of users ofthe collaboration session based on at least one of contextualinformation regarding the call and information regarding the pluralityof users (step 730). For example, in some embodiments, collaborationserver 105 identifies a user or participant of the collaboration sessionfrom a plurality of users or participants based on contextualinformation regarding the call and the profile information regarding theusers or participants. In some embodiments, collaboration server 105compares the contextual information with the profile information of theusers or participants of the collaboration session to determine a match.For example, when the subject matter of the call relates to discussing amarketing idea, collaboration server 105 determines that a user from themarketing department is best suited to answer the call. When a user isidentified based on the match between the contextual information of thecall and the information regarding the users, collaboration server 105directs the call to the identified user.

Method 700 also includes providing an interface on a user deviceassociated with the identified user (step 740). For example,collaboration server 105 causes an interface, which may be similar tonotification 470 or different from notification 470, to be displayedwithin collaboration interface 400 displayed on the user deviceassociated with the user.

Method 700 also includes enabling the identified user to instruct thedevice to handle the call within the collaboration session (step 750).For example, the interface displayed within collaboration interface 400on the user device enables the user to provide an input to instruct theuser device to handle the call (e.g., answer the call, reject the call,forward the call to voicemail or another participant, hide the call,etc.).

Method 700 further includes receiving an input from the identified user(step 760). In some embodiments, the input includes at least one of apress, touch, swipe, or click input on the interface selecting anelement of the interface representing a call handling function, such asanswering the call, forwarding the call, rejecting the call, directingthe call to voicemail, holding the call, conferencing the call, etc. Insome embodiments, the input includes a drag and drop input on theinterface or an element of the interface, which drags the interface orthe element to an icon representing another user or collaborationsession, and drops the interface or the element onto the icon. In someembodiments, the input includes a drag and drop input on the interfaceor an element of the interface, which drags and drops the interface orthe element into a queue of calls that are waiting to be answered byparticipants of a collaboration session who become available.

Method 700 further includes performing a call handling function based onthe input (step 770). For example, in response to a press, touch, swipe,or click input selecting an element of the interface representing a callhandling function, a user device on which the input is received performsthe corresponding call handling function, such as answering the call,forwarding the call, etc. As another example, in response to a drag anddrop input on the interface or an element of the interface, which dragsand drops the interface or the element onto an icon representing anotheruser or collaboration session, the user device on which the input isreceived forwards or directs the call to the other user or collaborationsession. As a further example, in response to an input that drags anddrops the interface or an element of the interface into a queue ofcalls, the device on which the input is received places the call in thequeue of calls (e.g., places the call on hold).

In some embodiments, method 700 includes other steps or processes. Forexample, in some embodiments, collaboration server 105 causes display ofa notification (e.g., notification 470) reflecting the call in acollaboration interface (e.g., collaboration interface 400) associatedwith at least a first user (e.g., a moderator or any participant) of theplurality of users. In some embodiments, collaboration server 105identifies the user from the plurality of users based on an input onnotification 470 (e.g., a drag and drop input discussed above) receivedfrom the first user (e.g., a moderator or any participant).

In some embodiments, the contextual information includes a descriptionof the call (such as the purpose of the call is to discuss a marketingidea), and method 700 includes obtaining, for instance by collaborationserver 105, the contextual information based on at least one ofinformation received from a caller who made the call (e.g., the userinput during the IVR process), and prior communication related to thecaller (e.g., emails, text messages, and phone call notes related to thecaller).

In some embodiments, the information regarding the plurality of usersincludes availability data of the plurality of users, and method 700includes identifying the user based on the availability of the pluralityof users. In other embodiments, the input on notification 470 includes adrag and drop input received within collaboration interface 400, whichdrags notification 470 reflecting the call and drops notification 470onto an icon (e.g., icon 500) displayed in collaboration interface 400that represents a target user to receive the call. Identifying the userincludes selecting, by collaboration server 105, the target user of thedrag and drop input as the user to receive the call.

In some embodiments, method 700 also includes placing, by collaborationserver 105, the call in a queue of calls, and identifying, bycollaboration server 105, the user to receive the call based on theavailability date of the plurality of users. For example, collaborationserver 105 determines which participant is currently available or willbe available in next 1 minute, 2 minutes, etc., and assigns one or morecalls to the participant. In some embodiments, when collaboration server105 determines that a participant is now available, collaboration server105 enables that participant to answer a call from queue 495 of calls.Collaboration server 105 updates queue 495 to remove a call when thecall is answered by a participant.

In some embodiments, collaboration system 101 includes more than onecollaboration sessions. Method 700 includes determining, bycollaboration server 105, a target collaboration session to direct thecall based on the contextual information regarding the call andcharacteristics associated with the collaboration sessions. For example,the characteristics associated with a collaboration session include thesubject of discussion, a description of the collaboration session,and/or profile information of the participants of the collaborationsession. The subject of discussion can be, for example, marketingissues, legal issues, sales issues, customer service issues. Thedescription of the collaboration session can include the subject ofdiscussion. The description may be, for example, “Collaboration Sessionfor Marketing Department,” “Collaboration Session for Legal Team,” etc.In some embodiments, the descriptions include a description of afunctionality of a group of participants, such as “Legal Department,”“Marketing Department,” etc. In some embodiments, collaboration server105 compares the subjects of discussion of the collaboration sessions ordescriptions of the collaboration sessions with the contextualinformation regarding the call to identify a collaboration session toreceive the call. For example, when the contextual information indicatesthat the purpose of the call is to discuss a marketing idea,collaboration server 105 identifies a collaboration session that isdiscussing marketing issues as the target collaboration session, anddirects the call to the identified collaboration session. As anotherexample, collaboration server 105 determines from the user profile thatat least some participants of a collaboration session are from themarketing department, and directs the call to that collaborationsession.

In some embodiments, each collaboration session is associated with atelephone number. Method 700 includes comparing the telephone numbersassociated with the collaboration sessions with a telephone numberspecified or dialed in the call. When collaboration server 105 finds amatch between the telephone number dialed and a telephone number of acollaboration session, collaboration server 105 directs the call to thatcollaboration session.

In some embodiments, collaboration server 105 uses the contextualinformation to automatically determine or identify a specific user orparticipant of the identified collaboration session as a recipient ofthe call. For example, collaboration server 105 compares keyword“marketing” included in the contextual information and informationregarding the participants (e.g., a function within an organization, ajob title, technical expertise, education, language, and priorcommunication with the caller, etc.), to identify a match. Collaborationserver 105 identifies a participant as the recipient of the call, anddirects the call to the participant. Collaboration server 105 enablesdisplay of a notification regarding the call (e.g., a notificationsimilar to notification 470) within a collaboration interface for thecollaboration session that is displayed on a user device associated withthe identified participant. The notification enables the user to provideinput to the user device to instruct the user device to handle the callwithin the collaboration session (e.g., within collaboration interface400).

In some embodiments, the caller indicates that the call is of private orpublic nature. The caller specifies that a call is a private or publicin the input provided in the IVR process, or in the email and/or textmessage sent to collaboration server 105 before, after, or during thetime the call is initiated. When a call is specified as a private call,notification 470 is not displayed on the user devices of all of theparticipants. The notification 470 is displayed only on a user device ofa selected participant, such as a moderator, or an intended callee(e.g., a participant of the collaboration session).

In the preceding description, various preferred embodiments have beendescribed with reference to the accompanying drawings. It will, however,be evident that various modifications and changes may be made thereto,and additional embodiments may be implemented, without departing fromthe broader scope of the disclosure. The disclosure and drawings areaccordingly to be regarded in an illustrative rather than restrictivesense.

For example, advantageous results still could be achieved if steps ofthe disclosed techniques were performed in a different order or ifcomponents in the disclosed systems were combined in a different manneror replaced or supplemented by other components. Therefore, it isintended that the disclosed embodiments and examples be considered asexamples only.

What is claimed is:
 1. A computer-implemented method for managing callsin a collaboration environment, comprising: detecting, by a processor,initiation of a call from a first collaboration session to a secondcollaboration session; and providing, by the processor, an interface ona device associated with a user, wherein the interface enables the userto instruct the device to handle the call within the secondcollaboration session of the collaboration environment.
 2. Thecomputer-implemented method of claim 1, wherein the call is one of atelephone call or a voice message received through a telephone system.3. The computer-implemented method of claim 1, wherein the call is oneof an audio call or a video call.
 4. The computer-implemented method ofclaim 1, wherein the method further includes identifying the user basedon contextual information associated with the call.
 5. Thecomputer-implemented method of claim 4, wherein the contextualinformation is derived from one of information regarding the differentuser or information regarding a content of the call.
 6. Thecomputer-implemented method of claim 1, wherein the method furtherincludes identifying the user based on inputs received from a differentuser.
 7. The computer-implemented method of claim 1, wherein thecollaboration environment includes a plurality of sessions and themethod further includes: identifying the second collaboration sessionassociated with the user from among the plurality of sessions.
 8. Thecomputer-implemented method of claim 1, wherein the collaborationenvironment includes a plurality of users, and the method furtherincludes selecting the user from the plurality of users based onavailability information regarding the plurality of users.
 9. A serverfor managing calls in a collaboration environment including, the servercomprising: a memory storing instructions; and a processor configured toexecute the stored instructions to: detect initiation of a call from afirst collaboration session to a second collaboration session; andprovide an interface on a device associated with a user, wherein theinterface enables the user to instruct the device to handle the callwithin the second collaboration session of the collaborationenvironment.
 10. The server of claim 9, wherein the processor is furtherconfigured to execute the stored instructions to display, on a displayof the device, a notification reflecting the call in the interface, thenotification including at least one selectable element.
 11. The serverof claim 10, wherein the processor is further configured to execute thestored instructions to: receive an input associated with the at leastone selectable element; and handle the call within the collaborationenvironment based on the received input.
 12. The server of claim 11,wherein the processor is further configured to execute the storedinstructions to direct the call to another user based on an inputreceived from the user.
 13. The server of claim 9, wherein the processoris configured to detect the call as one of a telephone call, a voicemessage, an email message, or a text message.
 14. The server of claim13, wherein the call is a text message and the processor is furtherconfigured to execute the stored instructions to: convert the receivedtext message into at least one of an audio message or a voice messages;and direct the audio message or the voice message to the deviceassociated with the user.
 15. The server of claim 9, wherein theprocessor is further configured to execute the stored instructions to:receive contextual information associated with the call, and identifythe user based on the contextual information.
 16. The server of claim15, wherein the contextual information includes at least one of adescription of the call, information associated with a different user,or information regarding prior communication records associated with thedifferent user.
 17. The server of claim 15, wherein the processor isfurther configured to execute the stored instructions to: determine anidentity of a different user based on the contextual informationassociated with the call; and display the identity of the different useron the interface.
 18. The server of claim 15, wherein the processor isfurther configured to execute the stored instructions to display thecontextual information associated with the call on the interface. 19.The server of claim 9, wherein the collaboration environment includes aplurality of collaboration sessions and the processor is furtherconfigured to execute the stored instructions to identify the secondcollaboration session associated with the user from among the pluralityof sessions.
 20. The server of claim 19, wherein the identified secondcollaboration session includes a plurality of users and the processor isfurther configured to execute the stored instructions to select the userfrom the plurality of users based on availability information regardingthe plurality of users.